int removeElement(int* nums, int numsSize, int val)
{
    //两个变量i,j代表下标,从0开始遍历数组，并把i下标的元素值赋给j下标的空间
    //当i遇到为val的目标元素，i继续向后遍历，j停止指向这个目标元素
    //此时i指向的是目标元素下一个，j指向目标元素，把i下标的值赋给j下标
    //相当于后面的元素覆盖目标元素空间

    //由于当i下标元素为val时，j没有++
    //相当于j的值是非val值的数量
    //j刚刚好是移除目标元素后的数组数量
    int j=0;
    for (int i = 0; i < numsSize; ++i)
    {
        if(nums[i]!=val)
            nums[j++]=nums[i];
    }
    return j;
}